import request from '@/utils/request'
import type { VerifyCodeDto, CaptchaImageDto, PasswordLoginReqDto, FastLoginReqDto, RouteRecordDto } from './types'

// export function getVerifyCode(data: VerifyCodeDto): Promise<ResDto> {
//     return request.post('/crm-prod/biz/user/sendVerifyCode', data)
// }

export function login(data: PasswordLoginReqDto | FastLoginReqDto): Promise<{
    token: string,
}> {
    return request.post('/crm-prod/login', data)
}

export function resetPassword(data: {
    oldPassword: string,
    newPassword: string
}): Promise<string> {
    return request.post('/crm-prod/bizUser/password/reset', data)
}

/**
 * 获取验证码图片
 *
 * @returns 返回验证码图片的Promise对象，包含CaptchaImageDto类型的数据
 */
export function getCaptchaImage(): Promise<CaptchaImageDto> {
    return request.get('/crm-prod/captchaImage')
}


/**
 * 获取路由列表
 *
 * @returns 返回Promise对象，解析后为RouteRecordDto数组
 */
export function getRouters(): Promise<RouteRecordDto[]> {
    return request.get('/crm-prod/2/getRouters')
}

/**
 * 发送验证码
 *
 * @param data 包含发送验证码所需的数据
 * @param data.phone 接收验证码的手机号码
 * @param data.passCard 验证码类型，通过传入的数字区分
 * @returns 返回发送验证码请求的结果
 */
export function sendVefifyCode(data: {
    phone: string
    passCard: string
}): Promise<string> {
    return request.post('/crm-prod/api/v1/send-verify-code', data)
}
